Skip to content

feat(lint,cli): os build gate for kind:'jsx' page source (ADR-0080 M3b②) - #2440

Merged
os-zhuang merged 1 commit into
mainfrom
feat/sdui-jsx-build-gate
Jun 29, 2026
Merged

os-zhuang merged 1 commit into
mainfrom
feat/sdui-jsx-build-gate

Conversation

@os-zhuang

Copy link
Copy Markdown
Contributor

ADR-0080 M3b② — the author-time gate. os validate / os build now parse a kind:'jsx' page's source via @objectstack/sdui-parser (new validateJsxPages lint rule), so malformed JSX fails loudly at author time (ADR-0078) instead of being stored and only breaking at render — alongside the existing expression / widget / styling gates.

Scope: parse-level — syntax, tag matching, forbidden constructs (event handlers, dangerouslySetInnerHTML). Full component/prop whitelist validation arrives once the registry manifest is threaded through compile() (the cross-repo manifest-artifact pipeline — the remaining M3b piece). This also makes @objectstack/sdui-parser a consumed (non-inert) package.

Verified: validateJsxPages unit checks (valid passes; empty/malformed/forbidden flagged at the source path; non-jsx ignored). Lockfile + changeset included; @objectstack/lint gains a @objectstack/sdui-parser dep.

Still remaining (true M3b tail, needs cross-repo infra): ship a serialized component manifest to the gate for full prop validation, and have @object-ui/sdui-parser re-export this package once published.

🤖 Generated with Claude Code

… M3b②)

New validateJsxPages lint rule parses a jsx page's source via
@objectstack/sdui-parser and surfaces parse/structural/forbidden-construct
errors at author time (loud-not-silent, ADR-0078). Wired into os validate
(and os build) alongside the expression/widget/style gates. Parse-level until
the registry manifest is threaded through for full prop validation.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@vercel

vercel Bot commented Jun 29, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
spec Ready Ready Preview, Comment Jun 29, 2026 2:23am

Request Review

@github-actions github-actions Bot added documentation Improvements or additions to documentation dependencies Pull requests that update a dependency file tests tooling size/m labels Jun 29, 2026
@github-actions

Copy link
Copy Markdown
Contributor

📓 Docs Drift Check

This PR changes 2 package(s): @objectstack/cli, @objectstack/lint.

15 hand-written doc(s) reference the affected code and may need an implementation-accuracy re-verification:

  • content/docs/concepts/cloud-artifact-api.mdx (via packages/cli)
  • content/docs/concepts/implementation-status.mdx (via @objectstack/cli)
  • content/docs/concepts/packages.mdx (via @objectstack/cli)
  • content/docs/getting-started/cli.mdx (via @objectstack/cli)
  • content/docs/getting-started/quick-start.mdx (via @objectstack/cli)
  • content/docs/guides/authentication.mdx (via @objectstack/cli)
  • content/docs/guides/client-sdk.mdx (via @objectstack/cli)
  • content/docs/guides/hook-bodies.mdx (via packages/cli)
  • content/docs/guides/packages.mdx (via @objectstack/cli)
  • content/docs/guides/project-scoping.mdx (via @objectstack/cli)
  • content/docs/guides/runtime-services/data-service.mdx (via packages/cli)
  • content/docs/guides/runtime-services/index.mdx (via packages/cli)
  • content/docs/guides/skills.mdx (via packages/cli)
  • content/docs/protocol/objectos/plugin-spec.mdx (via @objectstack/cli)
  • content/docs/protocol/objectos/realtime-protocol.mdx (via @objectstack/cli)

Advisory only. To re-verify, run the docs-accuracy-audit workflow scoped to these files:
node scripts/docs-audit/affected-docs.mjs origin/main → pass the list as args.docs.

@os-zhuang
os-zhuang merged commit 8ea1f4f into main Jun 29, 2026
17 checks passed
@os-zhuang
os-zhuang deleted the feat/sdui-jsx-build-gate branch June 29, 2026 02:24

This branch was successfully deployed

1 active deployment
Preview — a29bdac0 Deployed Jun 29, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file documentation Improvements or additions to documentation size/m tests tooling

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant